package com.briup.day18;

import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;

/**
 * 对象的序列化操作（持久化） 内存-----》文件
 * @author lining
 * @date 2024/1/30 11:09
 */
public class TestWriteObject {

    public static void writeList() throws Exception {
        //1.声明流 创建流对象
        ObjectOutputStream oos = new ObjectOutputStream(
                new FileOutputStream("list.txt"));
        //2.调用写操作
        Student s = new Student(1, "jack");
        Student s2 = new Student(2, "jack");
        Student s3 = new Student(3, "jack");
        //选什么集合？ List
        ArrayList<Student> list = new ArrayList<>();
        list.add(s);
        list.add(s2);
        list.add(s3);
        oos.writeObject(list);
    }
    public void writeStudent() throws Exception{

        //1.声明流 创建流对象（输出流）
        //节点流： 操作设备（文件）的一个流 字节文件输出流
        FileOutputStream fos = new FileOutputStream("obj.txt");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        //2.操作流：写操作一个对象(对象类型任意类型)
        Student s = new Student(1, "jack");
        oos.writeObject(s);
        //3.刷新流
        oos.flush();
        //4.关闭流
        oos.close();
    }



    public static void main(String[] args) throws Exception {
        writeList();
    }
}
